#include <unistd.h>
#include "stdio.h"
#include "sys/types.h"
#include "sys/wait.h"
int main(int argc, char const *argv[])
{
    //打印
    printf("mian进程开始执行 %d\n", getpid());


    //创建子进程
    pid_t pid = fork();
    if (pid == 0)
    {
        printf("子进程开始执行 %d\n", getpid());
        //执行一个命令程序 ping www.baidu.com -c 5
        //path路径
        char *path = "/bin/ping";
        // 参数
        char *argv[] = {path, "www.baidu.com","-c", "5", NULL};
        // 执行execve 内部会清空当前进程的运行环境（内存空间），并替换成other程序
        execve(path, argv, NULL);
   
    }
    else
    {
        printf("父进程继续执行 %d\n", getpid());
        //等待子进程结束
        int status;
        waitpid(pid,&status,0);
        printf("子进程结束 %d\n", status);
    }
    printf("main线程结束%d",getpid());
    return 0;
}
